package ydn.edu.hqu.cst.myexperiment2;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.ImageView;
import android.widget.Button;

import java.util.Timer;
import java.util.TimerTask;

public class UC3 extends AppCompatActivity {
    // 图像视图
    ImageView image;
    // 消息处理器
    Handler handler;
    // 定时器
    Timer timer;
    // 定时器任务
    TimerTask task;
    // 图像数组
    int[] images = {R.drawable.picture1, R.drawable.picture2, R.drawable.picture3, R.drawable.picture4, R.drawable.picture5};
    // 图像张数
    int image_count = images.length;
    // 轮换计数器
    int i = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_uc3);

        // 通过资源标识获得控件实例
        image = (ImageView) findViewById(R.id.view01);

        // 创建消息处理器,处理从定时器任务里发送过来的消息
        handler = new Handler() {
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                if (i >= image_count)  //只在5张图片轮换
                    i = 0;
                else image.setImageResource(images[i++]);
            }
        };

        // 实例化定时器
        timer=new Timer();

        // 实例化定时器任务
        task = new TimerTask() {
            @Override
            public void run() {
                Message msg = new Message();
                // 将图像作为消息内容发送给主线程
                handler.sendMessage(msg);
            }
        };

        // 对定时器任务进行调度
        /*
         * 参数1：定时器任务
         * 参数2：首次执行延迟时间
         * 参数3：定时执行的周期（毫秒）
         */
        timer.schedule(task, 50, 800);

        Button button1 = (Button) findViewById(R.id.button1);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(UC3.this, MainActivity.class);
                startActivity(i);
            }
        });
    }
}